/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package an_sintatico;

/**
 *
 * @author fernando
 */
public class TransSintatica {

	/**
	 * Next state from the Sintatico automaton
     */
    private final int nextState;

	/**
	 * Semantic function associated with the transition
     */
    private final int semanticFunction;

 	/**
 	 * SubMaquina entrance
     */
    private final int subMaquina;

	/**
	 * Final
     */
    private static final int NAO_DEFINIDO = -1;

	/**
	 * TransSintatica
	 *
	 * @param nextState
	 * @param semanticFunction
	 * @param subMaquina
     */
    public TransSintatica(int nextState, int semanticFunction, int subMaquina) {
        this.nextState = nextState;
        this.semanticFunction = semanticFunction;
        this.subMaquina = subMaquina;
    }

	/**
	 * TransSintatica
     */
    public TransSintatica() {
        subMaquina = NAO_DEFINIDO;
        nextState = NAO_DEFINIDO;
        semanticFunction = NAO_DEFINIDO;
    }

	/**
	 * Extract submaquina
	 * @return subMaquina
     */
    public int getSubMaquina() {
        return subMaquina;
    }

	/**
	 * Extract semantic function
	 * @return semanticFunction
     */
    public int getSemanticFunction() {
        return semanticFunction;
    }

	/**
	 * Extract next state
	 * @return nextState
     */
    public int getNextState() {
        return nextState;
    }
}
